In general, an in-vehicle navigation device detects a current position of a vehicle, using, for example, a self-contained navigation sensor or a Global Positioning System (GPS) receiver; reads map data associated with the detected position and a neighborhood associated with the detected position from a recording medium; and displays the map data on a screen. Then, the in-vehicle navigation device displays a vehicle position mark that indicates the position of a vehicle, the vehicle position mark being superimposed on a predetermined position on the screen, so that it can be determined at a glance where the vehicle is currently driving.
A self-contained navigation sensor includes a vehicle speed sensor (a distance sensor) that detects a moving distance of a vehicle by outputting a pulse for each predetermined travel distance and an angular velocity sensor, such as a vibrating gyro, that detects a rotation angle (the moving orientation) of the vehicle. A self-contained navigation sensor detects a relative position and relative orientation of a vehicle using a vehicle speed sensor and an angular velocity sensor. In this case, for an angular velocity sensor, a plane associated the angular velocity that needs to be detected needs to be parallel to a plane on which the angular velocity sensor actually rotates. When the planes are not parallel to each other, the output sensitivity of the angular velocity sensor deviates from a genuine sensitivity.
In general, an angular velocity sensor is adjusted so that the angular velocity sensor can accurately determine the travel direction with the output sensitivity achieved when the angular velocity sensor is horizontally mounted. Thus, when an angular velocity sensor forms an angle with the horizontal direction, a relationship between angular velocity applied to the angular velocity sensor and the output sensitivity changes, so that the angular velocity sensor cannot accurately detect the travel direction of a vehicle. Accordingly, it is necessary to perform sensitivity correction corresponding to an inclination of the angular velocity sensor with respect to the horizontal direction.
Previously, this sensitivity correction has been performed as described below. When radio waves can be satisfactorily received from a GPS satellite, GPS orientation obtained by a GPS receiver as an absolute orientation is compared with a gyro orientation calculated from angular velocity obtained by an angular velocity sensor; the sensitivity of the angular velocity sensor is corrected so that the angular velocity agrees with the variation of the GPS orientation; and then angular velocity correction is performed using the corrected sensitivity. (See, for example, Japanese Unexamined Patent Application Publication No. 2006-71474).
FIG. 14 is a block diagram of an angular velocity correcting device according to such known art. The angular velocity correcting device includes a self-contained navigation sensor 1, a position-and-orientation calculating unit 2, a GPS receiver 3, a memory controller 4, a random access memory (RAM) (a travel history storage unit) 5, and a processor 6.
The self-contained navigation sensor 1 measures the current position of a vehicle and includes a distance sensor (a vehicle speed sensor) 1a and an angular velocity sensor (a relative orientation sensor) 1b such as a vibrating gyro. The distance sensor 1a detects the moving distance of a vehicle by outputting a pulse at predetermined intervals. The angular velocity sensor 1b detects angular velocity changing when a vehicle drives and integrates the detected angular velocity to output the rotation angle (the moving orientation) of the vehicle at predetermined intervals. The self-contained navigation sensor 1 detects the relative position and relative orientation of a vehicle using the distance sensor 1a and the angular velocity sensor 1b at predetermined intervals and sequentially outputs information on the relative position and relative orientation.
The position-and-orientation calculating unit 2 calculates, on the basis of information on the relative position and relative orientation of a vehicle output from the self-contained navigation sensor 1, an absolute vehicle position (an estimated vehicle position) and absolute vehicle orientation, and outputs the absolute vehicle position and the absolute vehicle orientation at predetermined intervals. Hereinafter, such an absolute position and absolute orientation calculated on the basis of the output from the self-contained navigation sensor 1 are called a gyro position and gyro orientation, respectively. In this case, the angular velocity sensor 1b and the position-and-orientation calculating unit 2 constitute an orientation sensor.
The GPS receiver 3 also measures the current position of a vehicle. The GPS receiver 3 receives radio waves sent from a plurality of GPS satellites (not shown) with a GPS antenna (not shown) and performs three-dimensional positioning or two-dimensional positioning to calculate the absolute position and absolute orientation of a vehicle at the same intervals as the self-contained navigation sensor 1 (the vehicle orientation is calculated on the basis of the current position of the vehicle and the position of the vehicle measured in the last sampling period ΔT). Then, the GPS receiver 3 sequentially outputs information on the calculated absolute position and absolute orientation of the vehicle, together with positioning time. Hereinafter, an absolute position and absolute orientation calculated on the basis of the output from the GPS receiver 3 are called a GPS position and GPS orientation, respectively.
The memory controller 4 sequentially stores a gyro position and gyro orientation obtained by the position-and-orientation calculating unit 2 in the RAM 5 as the data of a set of travel histories obtained by the self-contained navigation sensor 1. Moreover, the memory controller 4 sequentially stores a GPS position and GPS orientation obtained by the GPS receiver 3 in the RAM 5 as the data of a set of travel histories obtained by the GPS receiver 3. Moreover, in response to a request from the processor 6, the memory controller 4 reads the data of each set of travel histories from the RAM 5 and supplies the data to the processor 6.
FIGS. 15A and 15B show exemplary travel history data stored in the RAM 5. FIG. 15A shows travel histories obtained by the GPS receiver 3. FIG. 15B shows travel histories obtained by the self-contained navigation sensor 1. In FIG. 15A, a black circle represents a GPS position output at predetermined intervals (for example, intervals of every two seconds), and an arrow represents GPS orientation output at predetermined intervals (for example, intervals of every two seconds). A GPS orientation is expressed by the sign of θgpsn (n is 1, 2, . . . , N where N is an integer).
In FIG. 15B, a white circle represents a gyro position output at predetermined intervals (for example, intervals of every two seconds), and an arrow represents gyro orientation output at predetermined intervals (for example, intervals of every two seconds). A gyro orientation is expressed by the sign of θgyrn (n is 1, 2, . . . , N where N is an integer).
FIGS. 15A and 15B show that, when a vehicle turns to the left at an intersection, each GPS orientation indicates a relatively correct value, but each gyro orientation deviates from a correct value because the sensor sensitivity of the angular velocity sensor 1b has an error.
The processor 6 includes a first sampling unit 6a, a second sampling unit 6b, a sensitivity sample calculating unit 6c, and a statistical processing unit 6d. The first sampling unit 6a selectively extracts only orientation signals output when the following first conditions (1) to (3) are satisfied, where the first sampling unit 6a selectively extracts orientation signals from gyro orientation θgyrn (first orientation signals) and GPS orientation θgpsn (second orientation signals) stored in the RAM 5 at predetermined intervals.
The first conditions are that:                (1) the speed of a vehicle that includes the angular velocity sensor 1b is greater than or equal to a threshold value (for example, 10 km/h);        (2) the reliability of a GPS is high; and        (3) curvature (or the rate of change of orientation) is low.        
The condition (1) is set because, when the speed of a vehicle is low, in many cases, the error of GPS orientation is large. The speed of a vehicle can be obtained from the output of distance sensor 1a. Specifically, the speed of a vehicle can be obtained by dividing a distance between consecutive gyro positions stored in the RAM 5 as travel histories by the elapsed time (in seconds) between the consecutive gyro positions.
The condition (2) is set because, when the reliability of a GPS is low, in many cases, the error of GPS orientation is large. When the difference between the travel distance of a certain section obtained by the self-contained navigation sensor 1 (self-contained navigation travel distance) and the distance of a section corresponding to the certain section obtained by the GPS receiver 3 (inter-GPS-positioning-points distance) is less than or equal to a threshold value, it can be determined that the GPS reliability is high.
The condition (3) is set because, when curvature (the rate of change of orientation) is high, in many cases, the error of GPS orientation is large. The condition about curvature is that, for example, the variation of gyro orientation obtained by the angular velocity sensor 1b during a predetermined past period (for example, past thirty minutes) is less than or equal to a threshold value (for example, five degrees).
Hereinafter, data extracted on the basis of the aforementioned conditions is called first samples. In the aforementioned arrangement, all gyro orientations obtained by the position-and-orientation calculating unit 2 at predetermined intervals and GPS orientations obtained by the GPS receiver 3 at predetermined intervals are temporarily stored in the RAM 5, and then a portion of the stored orientations that meet the aforementioned conditions are extracted as first samples.
The second sampling unit 6b selectively extracts only gyro orientations and GPS orientations that satisfy the following second conditions (4) and (5), where the second sampling unit 6b extracts gyro orientations and GPS orientations from gyro orientations and GPS orientations extracted by the first sampling unit 6a. 
(4) The time difference between two first samples set as targets when a first orientation differential angle and a second orientation differential angle described below are calculated is less than a threshold value. In detail, the elapsed time between the current first sample N and a target first sample i (i is N−1, N−2, . . . ) is less than or equal to a threshold value (for example, sixty seconds). This condition is set because, when the interval between samples subjected to the calculation is long, the error of gyro orientation due to the zero-point error of the angular velocity sensor 1b is large. A zero-point error represents the deviation of a reference voltage from a genuine voltage at a zero point due to the variation of the output voltage of the angular velocity sensor 1b caused by the influence of the ambient temperature.
(5) The GPS differential angle between the current first sample N and the target first sample i is less than or equal to a threshold value. The GPS differential angle is calculated by the following equation:GPS Differential Angle=θgpsN−θgpsi.  (1)This condition is set because, when the GPS differential angle is too small or large, the sensitivity error of the angular velocity sensor 1b does not become obvious, and thus it is difficult to accurately obtain the sensitivity error by calculation.
Hereinafter, data extracted on the basis of the aforementioned conditions is called second samples. The sensitivity sample calculating unit 6c calculates a plurality of sensitivity samples (the instantaneous value of sensitivity) from first orientation differential angles (gyro differential angles), each of which indicates the difference between gyro orientations extracted by the second sampling unit 6b and second orientation differential angles (GPS differential angles), each of which indicates the difference between GPS orientations extracted by the second sampling unit 6b. 
A GPS differential angle is obtained by equation (1), as described above. On the other hand, a gyro differential angle is calculated by the following equation:Gyro Differential Angle=θgyrN−θgyri.  (2)Moreover, a sensitivity sample of the angular velocity sensor 1b is calculated by the following equation:Sensitivity Sample=GPS Differential Angle/Gyro Differential Angle.  (3)In this case, a plurality of gyro differential angles and a plurality of GPS differential angles have been obtained. Thus, calculation according to equation (3) is performed on each set of a gyro differential angle and a GPS differential angle corresponding to each other to obtain a plurality of sensitivity samples.
The statistical processing unit 6d performs statistical processing of a plurality of sensitivity samples obtained by the sensitivity sample calculating unit 6c to calculate the sensor sensitivity of the angular velocity sensor 1b. For example, the moving average of the plurality of extracted sensitivity samples is output as sensor sensitivity A. In this case, a sensitivity sample of the deviation from the average that is large (for example, a sensitivity sample of the deviation that is less than or equal to 15%) may be regarded as an abnormal value and excluded. After discarding the abnormal value, the average may be recalculated to improve the accuracy of calculation. According to equation (3), the sensor sensitivity A is determined so that, when sensor orientation obtained from the angular velocity sensor 1b is corrected using the sensor sensitivity A, the corrected sensor orientation agrees with GPS orientation obtained from GPS radio waves.
The sensor sensitivity A is obtained in the aforementioned manner, and then an angular velocity correcting unit 7 corrects angular velocity ωgyro output from the angular velocity sensor 1b using the sensor sensitivity A according to the following equation:ωgyro′=ωgyro×A. 
In an angular velocity correcting device, the application of which has been filed by the applicant in the Japanese Patent Office on Mar. 8, 2007 (see, Japanese Unexamined Patent Application Publication No. 2007-58131), sensor sensitivity B is calculated to correct angular velocity according to the following steps (1) to (5):
(1) the oblique angle θacc of a gyro/acceleration sensor (an acceleration oblique angle) with respect to a horizontal plane is measured using signals output from a speed sensor (a distance sensor) and an acceleration sensor, and the oblique angle θgps of a vehicle (a GPS oblique angle) with respect to a horizontal line is measured using signals received by a GPS;
(2) a sensor oblique angle θsensor (=θacc−θgps) is obtained from the acceleration oblique angle θacc and the GPS oblique angle θgps;
(3) a vehicle oblique angle θcar (=θacc−θsensor) is obtained using the acceleration oblique angle θacc and the sensor oblique angle θsensor;
(4) the sensor sensitivity B is determined using the sensor oblique angle θsensor and the vehicle oblique angle θcar according to the following equation:1/cos(θsensor+θcar); and
(5) angular velocity is corrected using the sensor sensitivity B.
Angular velocity output from a gyroscope includes the following error factors (1) to (3):
(1) a sensor mounting pitch angle with respect to a vehicle,
(2) a vehicle pitch angle with respect to a horizontal plane (the oblique angle of a road), and
(3) the sensitivity error of the gyroscope (individual difference in characteristics due to, for example, a hardware factor).
Thus, correction in which the error factors are considered needs to be performed.
In the known art shown in FIG. 14, when GPS radio waves cannot be received or when a vehicle moves in a multistory parking garage where the variation of the vehicle pitch angle (the vehicle oblique angle) is large, the sensitivity of a gyroscope cannot be calculated, and thus the gyro angular velocity cannot be corrected (the error factor (2) cannot be handled). Accordingly, an orientation shift occurs, so that the accuracy of the vehicle position in the multistory parking garage deteriorates. Moreover, returning to an actual driving road after exiting from the multistory parking garage by map matching is disadvantageously delayed.
Moreover, in the art disclosed in Japanese Unexamined Patent Application Publication No. 2007-58131, the sensitivity error of a gyroscope (individual difference in characteristics due to, for example, a hardware factor) cannot be accommodated. Thus, in a case where the sensitivity significantly deviates from a standard value, so that the specification limit is almost reached, when a vehicle turns to the left or right at an intersection, the detected amount of turn is insufficient or excessive, so that the accuracy of position and orientation of the vehicle deteriorates. Especially in a multistory parking garage where the orientation of the vehicle significantly changes in a short time, the accuracy of the position significantly deteriorates. For example, the standard value of sensitivity is 25 mV/(deg/s), and the allowable range of sensitivity according to specifications is between 23.25 mV/(deg/s) and 26.75 mV/(deg/s). The allowable range of sensitivity can be converted to an error ranging from +7.5% to −6.5%, i.e., a gyro angular velocity error occurs. Thus, for example, when it is assumed that a vehicle goes up and down in a five-story parking garage, the maximum error θerror of the orientation of the vehicle that may occur when the vehicle exits from the parking garage is obtained by the following equation:θerror=360 deg×5×2×7.5/100=270 deg.This results in delay in returning to a road after exiting from the parking garage. In this equation, a five represents five revolutions, and a two represents up and down movement.